Content navigation guide

ABSTRACT

A program guide, such as an electronic program guide (EPG), may be used to display information regarding upcoming scheduled transmissions of content. The display may include thumbnail images for selected groups of programs, and the images may be positioned in a pseudo-random location, and moved along a randomly generated trajectory on the display.

FIELD OF ART

The features described herein generally relate to accessing scheduledtransmissions of content, such as video programs.

BACKGROUND

As long as content providers continue to transmit their contentaccording to a schedule, there will be viewers wondering when thatcontent will be transmitted and available for viewing. In the past,content providers and system operators have provided television contentviewers with electronic program guides (EPGs) to provide listings oftelevision programs. The listings may list the programs according to thechannels on which they appear, and by the time of day, often providingviewers with a grid of text listing the program titles.

Although many have grown accustomed to using such text grid programguides, there is always a need to make a program guide better, such asby presenting more information, more relevant information, making iteasier to use, etc.

SUMMARY

Features described herein relate generally to an improved program guide.In some embodiments, the program guide, which may be an electronicprogram guide, may be generated by selecting a subset of video programsaccording to a transmission schedule, selecting a thumbnail image foreach of the subset of programs, generating a different random initialposition and a random motion vector for each thumbnail, and displayingand moving the thumbnail images according to their motion vectors. Insome embodiments, the various motion vectors may share a common origin.

In some embodiments, a thumbnail image may be selected by hovering apointer over it, and a group of thumbnail images (including the selectedone) may be aligned while the remaining thumbnails outside of the groupmay be displayed in a random unaligned order, and may be moved alongdifferent random motion vectors (which may be the same as used beforethe thumbnail selection).

In some embodiments, the motion of the thumbnails may be restricted to aboundary, and upon reaching the boundary, the thumbnails may reversetheir direction of motion.

The various features described above may be implemented using a computeror processing device, which may operate by executing computer-executableinstructions for performing the various features described. Accordingly,some embodiments herein include the computer-readable media storingthose instructions. Other details and features will also be described inthe sections that follow.

BRIEF DESCRIPTION OF THE DRAWINGS

Some features herein are illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements.

FIG. 1 illustrates an example information or content distributionnetwork on which various features herein may be implemented.

FIG. 2 illustrates an example computing device configuration that can beused to implement the various devices described herein.

FIGS. 3 a-g illustrates an example program guide that can be used withfeatures described herein.

FIGS. 4 a-d illustrate additional aspects of an example program guide.

FIG. 5 illustrates an example detail screen for a selected thumbnail.

FIGS. 6 a-c illustrate example timeline features of an example programguide.

FIGS. 7 a-f illustrate example user interface elements and operation ofan example program guide.

FIG. 8 illustrates an example program guide process.

DETAILED DESCRIPTION

FIG. 1 illustrates an example premises or household 100. The householdmay include an in-home communication network 101, which can be coaxialwiring, Ethernet wiring, fiber optic wiring, telephone line wiring,wireless, or any other desired mode of communication.

The network 101 may be used by a variety of devices in the home tocommunicate with a device outside of the home, such as an externalserver 102. The external server 102 may be, for example, a televisioncontent provider's headend or central office, a fiber optic node, acomponent such as a DOCSIS CMTS (Data Over Cable Service InterfaceSpecification, Cable Modem Termination System), a server on theInternet, a satellite node, wireless node, or any other desired sourceof information to which devices in the home 100 may be connected.

Within the home 100, one type of device that can use the network 101 isa display device, such as a television 103 or personal computer 104. Forexample, users in the home may watch television programs on television103 or personal computer 104. The television, or other display devices,may be directly connected to the network 101, or they may be connectedusing a video interface device, such as a decoder, a digital videorecorder (DVR), or set-top box (STB) 105. Although illustratedseparately from television 103 the interface device 105 may be integralwith the display device/television. Additionally, although STBs are usedas examples in the discussion herein, the interface/display device maybe any type of device, such as a gateway, personal computer (PC)devices, mobile television devices, portable media devices, cell phones,etc. Personal computer 104 may contain a network interface used tocommunicate on network 101 and with external server 102. FIG. 1 alsoillustrates an example wireless remote control 106, which the user mayuse to interact with the interface devices, personal computers, and/ortelevisions.

FIG. 2 illustrates the general hardware elements of an example videointerface device 105, which may simply be any type of computing devicesuch as an STB, digital video recorder (DVR), personal computer, mobiledevice, circuit embedded into the viewing device, etc. The device 105may include one or more processors 201, which may execute instructionsof a computer program to perform any of the features described herein.Those instructions may be stored in any type of computer-readable mediumor memory, to configure the operation of the processor 201. For example,instructions may be stored in a read-only memory (ROM) 202, randomaccess memory (RAM) 203, removable media 204, such as a Universal SerialBus (USB) drive, compact disk (CD) or digital versatile disk (DVD),floppy disk drive, or any other desired electronic storage medium.Instructions may also be stored in an attached (or internal) hard drive205. The device 105 may include one or more output devices, such as anexternal television 103 (or device 105 may be combined with television103 or personal computer 104), and may include one or more output devicecontrollers 207, such as a video processor. There may also be one ormore user input devices 208, such as a remote control, keyboard, mouse,touch screen, microphone, etc. The device 105 may also include one ormore network input/output circuits 209, such as a modem and/or networkcard to communicate with an external server 102 over network 210. Thenetwork interface may be a wired interface, wireless interface, or acombination of the two. In some embodiments, the interface 209 mayinclude a modem, and network 210 may include an in-home network 101,and/or a television system's coaxial, fiber, or hybrid fiber/coaxialdistribution system (e.g., a DOCSIS network). Various types of modems,such as an optical fiber modems, may also be used.

The network input/output device 209 may include tuning and decodingcircuitry to receive and decode various datastreams. The datastreams maybe analog channels such as NTSC television channels, or digital channelssuch as DOCSIS data channels, MPEG (Moving Pictures Experts Group)datastreams, IP (Internet Protocol) data streams, optical datasreams,etc.

The video interface device 105 may allow a viewer to select content thatis available from a provider, for example via the server 102, and cantune to and/or decode a datastream carrying that content upon request(e.g., a video on demand VOD application). The content can be presentedfor viewing on a display device, such as a television 103 or personalcomputer 104. The datastream may also carry additional data, such as EPGdata, transmitted from the external server 102 to the interface device105 as a broadcast, multicast and/or unicast stream.

FIG. 3 a illustrates an example program guide 300 whose data (e.g.,which may include computer program instructions for generating thedisplays, as well as the objects/text/images/sounds used to populate thedisplays) can be carried in the datastream. The program guide 300 mayinclude a plurality of thumbnail images 301 for various items of contentthat are available to the user. The content may be any desired type ofinformational content, such as a video program, television show, movie,music video, song, picture, Internet page, or any other desired video,audio, or audiovisual content. The thumbnail image for an item ofcontent may include any desired visual image used to represent thecontent. For example, a thumbnail for a television show might include ascreenshot from the show, pictures of the show's main character(s), theshow's logo, an advertisement still, etc.

When the program guide 300 is initially opened, the thumbnails 301 maybe arranged in a pseudo-random order. The pseudo-random order may placethe thumbnails 301 generally in order based on their scheduledtransmission time. For example, thumbnails for programs that are to betransmitted in the 4 pm hour may be placed in a first area 302 a of thescreen, and thumbnails for programs that are to be transmitted in the 5pm hour may be placed in a second area 302 b of the screen. The areasmay be, as illustrated in FIG. 3 a, vertical columns that arehorizontally arranged in chronological order.

The specific ordering may be pseudo-random, however, in that the variousthumbnails need not be aligned within their respective areas of thescreen. For example, as illustrated in FIG. 3 a, the thumbnails for the4 pm shows appear generally in the 4 pm area 302 a, but they aremisaligned. This misalignment may be made randomly (or pseudo-randomly,for those who consider computer-generated random numbers to not truly berandom) using a computer's random number generator (e.g., a hardwarecomponent or software program, which may generate random values based ona clock signal, time of day, etc.). For example, and as illustrated inFIGS. 3 b-c, an aligned position for each thumbnail (shown in FIG. 3 b)may be adjusted with X- and/or Y-coordinate offsets that are randomlygenerated, to result in actual positions (shown in FIG. 3 c). The randomoffsets may be positive or negative, and may be different for some (orall) of the thumbnails. For example, neighboring thumbnails may havedifferent offsets in both the X- and Y-axis. These offsets may belimited, so that the thumbnails still appear within the areas 302 a,b oftheir time segment. Displaying the thumbnails with these offsets may bemore visually appealing to, and easier to view by, the user.

Once the program guide 300 is displayed, and the thumbnails 301displayed in their initial positions, the program guide 300 may thenanimate the display to cause the thumbnails 301 to drift, moving aroundin the display area. FIG. 3 d shows an example of how the thumbnails 301may move from their initial positions to different positions as part ofthis drifting. This movement may also be randomly generated for eachthumbnail. The random generation can be performed on-the-fly, as thethumbnail movement is needed or desired. Alternatively, the randomgeneration can be performed in advance, and can simply be retrieved whenthumbnail movement is needed or desired. In some embodiments, a presetnumber of motion vectors (discussed below) may be generated for theprogram guide display, and those preset vectors may simply be randomlyassigned to different thumbnails when the thumbnail movement is neededor desired.

As illustrated in FIG. 3 e, each thumbnail may be assigned a motionvector 303 having X- and Y-axis speed components. The speed componentsmay be randomly generated (e.g., a random X-axis pixel speed, and arandom Y-axis pixel speed), and may be limited. For example, a maximumspeed may be defined (e.g., 45 pixels/second in the Y direction, 60pixels/second in the X direction), and a random number may be generatedto assign random speed components in the two directions. Forthree-dimensional displays, a random speed component in the thirddimension may also be generated.

As illustrated in FIG. 3 f, the various thumbnails 301 may each beassigned different, random motion vectors. For example, neighboringthumbnails may have different motion vectors. During display of theprogram guide, the thumbnails 301 may be animated to move along theirrespective vectors at their respective vector speeds, giving theappearance of drifting across the screen. This drifting may help keepusers engaged in the program guide, more so than with static programguides.

To prevent the thumbnails from interfering with other user interfaceelements on the screen, their movement may be bounded by a boundary 304.The boundary 304 need not be displayed (although it can if desired), butwhen a thumbnail 301 intersects with the boundary 304 during movement,the computing device generating the program guide may generate a newmotion vector for the thumbnail 301. The new motion vector may be theopposite of the thumbnail's original vector. So, for example, if athumbnail's original vector was a motion +5 pixels/sec in the Xdirection, and +3 pixels/sec in the Y direction, the new vector may be−5 pixels/sec in the X direction, and −3 pixels/sec in the Y direction.The thumbnail may move along this new vector until it reaches itsoriginal starting point, and at that time its vector may be reversedagain, and the movement continued back along the original vector.

In some embodiments, the motion vectors may share a common origin pointor area of the screen. The FIG. 3 g example illustrates vectors 305 forthe various thumbnails, where the vectors 305 originate at a commonpoint or area 306 of the screen. The point 306 may be a single pixellocation on the screen, or it may simply be a point within (or on theperimeter of) a larger area, such as a centralized circle 306. Having acommon origin point or area may help make the program guide moreimmersive.

The motion of the thumbnails 301 may continue until a thumbnail isselected. Selecting a thumbnail may be made by, for example, hovering amouse pointer over a thumbnail. FIG. 4 a illustrates an example in whicha pointer 401 is hovering over a selected thumbnail 402. Other types ofselection, such as moving a highlight cursor with arrow keys on a remotecontrol, may be made as well. For example, a selected thumbnail or menuelement may be highlighted (e.g., with a different color, size, shape,etc.), and pressing UP/DOWN/LEFT/RIGHT arrow keys on a remote control106 may cause the highlighting to shift to neighboring thumbnails ormenu elements.

Several things may happen when a thumbnail is selected. For example, theselected thumbnail 402 may be enlarged, adding a title for thethumbnail's corresponding program. The program provider (e.g., “NBC”), atextual description, and/or start time and date may also be displayed.As another example, the various thumbnails in the same group as theselected thumbnail may be aligned, and they may cease their driftingmovement along their respective motion vectors. The group may betime-based, such as the programs being transmitted in the 4 pm hour.

Moving the pointer 401 to select (e.g., hovering over) differentthumbnails may cause the corresponding thumbnails to enlarge withsimilar title/description/source/time/date information for the otherprograms, as illustrated in FIG. 4 b. The other thumbnails in the groupmay remain aligned, although they may be shifted to remain visiblebehind the enlarged thumbnail. Selecting a thumbnail in a differentcolumn may result in enlargement of the other column of thumbnails, asillustrated in FIG. 4 c.

The thumbnails that are not in the selected group may have theirappearance changed as well. They may be shrunken, and they may havetheir colors changed to a darker shade to appear more in the background.They may have their motion vectors recalculated, or they may simply bereturned to their original starting positions, and they may continue tomove as described before. This resetting of their position and/or motionmay be performed each time a different thumbnail is highlighted orselected.

The enlargement of the selected thumbnail and alignment of the selectedgroup's thumbnails may be performed each time a thumbnail in a differentgroup is selected. FIG. 4 d illustrates an example of this, with thecursor hovering over a thumbnail in the 5 pm group of thumbnails.

When a user makes a further selection of a thumbnail, such as bypressing a mouse button with the thumbnail enlarged, a new screen may bedisplayed. FIG. 5 illustrates an example of this new screen 501. The newscreen 501 may contain a further enlarged version of the selectedthumbnail 502, with additional information, such as a longer textdescription, additional air times, additional content provideridentification, etc. The viewer may be presented with different options503 for viewing the selected program. For example, the user could chooseto immediately begin viewing a unicast stream of the program if theprogram is available on demand, or immediately begin tuning to a stream(e.g., station channel, digital datastream, etc.) carrying the programif it is currently being aired, or schedule a future recording of theprogram. A recording may be scheduled using the program guide, to takeeffect at a remote device. For example, a user can access the programguide from a personal computer, make a selection for recording, and theselection may be transmitted to a remote server on the Internet. Theserver can then communicate with a server that handles communicationwith the user's own digital video recorder (DVR), and may transmit arecording command and schedule to the user's DVR.

Additional options may be presented as well. For example, the user canbe given the option to choose to see a listing of additional air timesfor the selected program, or to view a listing of alternative episodesof the same series (e.g., a different episode of the televisionsituation comedy “Everybody Loves Raymond”). Another option may be tosee a selection of videos, photographs, or other content that may beavailable on the Internet for the show, such as newspaper articles aboutthe show or its stars, interviews, paparazzi photos on various websites, etc. These additional options may aggregate information from avariety of different networks and platforms, such as different Internetsites, television content providers, multiple system operators, etc.

Another option may be to see a listing of contextually related programs.For example, various programs may be tagged with keywords or contexts(e.g., based on their title, their genres, their subject matterdescriptions, their actors, their directors, etc.), and the programguide may provide a listing of other programs that may be related bythese keywords or contexts.

FIG. 6 a illustrates the program guide, with emphasis on a timelinefeature 601. The timeline 601 may be a line representing a predeterminedamount of time for the EPG. For example, the timeline 601 may representa 24-hour period beginning with the current hour. In an unselected state(e.g., without hovering the pointer over the timeline 601), the timeline601 may simply display a label indicating that the displayed thumbnailsare for a current time period. For example, the program guide 301 showsthumbnails for a 3-hour period.

By selecting the timeline 601, or hovering a pointer over it, thetimeline 601 may change, to add information detailing the time rangebeing displayed. For example, the specific displayed times may be listed(e.g., 4 pm, 5 pm and 6 pm), and time ranges may be identified for thecurrent time (“Now”), Prime Time, Late Night, Early Morning, Afternoon,etc. FIG. 6 b illustrates the timeline 601 with this additionalinformation. The changes can include the addition of elements, such as adate drop-down selection box 602. The selection box 602 may allow theuser to choose a different date for viewing the guide. Upon selection ofa different date, the timeline 601 can show the listings for that date,beginning at any desired time (e.g., at the current time, or atmidnight, etc.). If the new listings begin at midnight, the “Now” labelmay be replaced with the “12 AM” (or “Midnight”) labeling (not shown).The timeline 601 may also add navigation arrows 603, which may allow theuser to advance (or decrement) the listing time by a set amount (e.g.,an hour) to quickly scroll through the other times of day for thelistings. To help orient the user, the timeline may also include a datedemarcation 604, marking the next day, and include the date.

Selection of a different point along the timeline 601 may result in thedisplay of thumbnails for a different time segment. FIG. 6 c illustratesan example in which the pointer (not shown) has been positioned over the“Late Night” portion of the timeline 601, and the thumbnails illustratedcorrespond to programs appearing in the Late Night time range. To assistthe user in positioning the pointer, the timeline 601 may be segmentedaccording to predefined time segments (e.g., an hour). Segments areomitted from FIG. 6 c, but FIG. 3 a illustrates example segments.

The discussion above regarding FIGS. 6 a-c illustrates how differenttime segments can be viewed in the program guide 301. The availablecontent can be displayed, or filtered, using any desired criteria, suchas time, category, service provider, or any other collection ofcriteria. FIGS. 7 a-f illustrate how different content providers (e.g.,service providers, television stations, cable network stations, etc.)can be listed by filtering the overall available contents by contentprovider criteria. On the left-hand side of the program guide in FIG. 7a, a source listing menu 701 may be displayed. The source listing menu701 may list the content providers whose thumbnails appear in thecurrent display of thumbnails.

For example, the FIG. 7 a screen includes a “Networks” source listingmenu 701. The menu 701 may list the content providers, in this casetelevision channels ABC, CBS, CW, NBC and PBS. Those television channelsmay be in a predefined “Main Networks” group of providers, and multipledifferent other groups of providers can be defined as well. For example,FIG. 7 a illustrates an expansion of the “Networks” label, with optionsto select other listing groups, such as “Premium Networks.” Other groupscan be defined according to other criteria, such as a categorization ofthe content. The FIG. 7 a example shows several categories: “Kids,”“Sports,” “Movies,” and “HD.” Selecting one of these other groups maycause the EPG to filter the displayed thumbnails to only include contentmatching the criteria of the defined group. So, for example, the “Kids”group might only list thumbnails for programs that are suitable forchildren (as specified in program guide listing information), while the“Sports” group might only list thumbnails for sporting events. Thegroups can be defined by any category, including the display technologythat is needed (or preferred) for the content. So, for example,different groups can be created for resolution types (e.g., standard,high-definition 720p, high-definition 1080p) and display types (e.g.,two-dimensional, three-dimensional polarized, three-dimensional activeshutter, etc.).

FIG. 7 b illustrates a new screen, with the “Sports” group selected. Theresulting menu 702 now lists the service providers having sportingevents, and the thumbnails may be limited to just sporting events.

Various other groups can be selected. FIG. 7 c shows an expansion of asecondary menu tab 703 (and contraction of the one originally shown inFIGS. 7 a & b) to reveal additional groups that are available. Theadditional groups can be made based on different time windows (e.g., theweek, tonight, etc.), different categories (e.g., movies), and onfrequency of broadcast (e.g., shows airing nightly or weekly). FIG. 7 dillustrates a different listings menu when a different group isselected.

The groupings can be customized by user. So, for example, a user candesignate a listing of favorite content providers (e.g., favoritetelevision channels), favorite show titles, favorite program types(e.g., movies, comedies, news), preferred listing time range, etc. for acustomized view. This can be done in any desired manner, such asselection through the program guide, and by choosing a custom group, asillustrated in FIG. 7 e, the viewer sees a customized listing. FIG. 7 fillustrates an example interface 704 for creating a custom view orfilter. The interface 704 may include a name element 705, which canallow the user to type in a custom name for the filter being edited oradded, and a time element 706 that can allow the user to specify (e.g.,by clicking and dragging a box on a timeline) a time range that will bethe initial display of listings for this filter. The interface 704 mayinclude categories 707 that, when selected, cause a display 708 ofvarious content sources associated with the selected category. Choosinga displayed source (e.g., by clicking on it with a mouse pointer) mayadd the source to the list 709 of sources in the current list, and thosesources in the list 709 may be what appears when the user chooses thecustom view using this filter. The user can choose to save the list whenfinished, and the resulting filter may be included as an option in theCustom View menu.

FIG. 8 illustrates an example process for the display of the programguide. The process may be carried out, for example, by a computingdevice (e.g., personal computer, set-top box, mobile television, etc.),executing instructions that may be stored in a computer-readable memory,such as storage devices 202-205.

In step 801, the program guide data may be received at the computingdevice. The program guide data may be initially transmitted from anexternal server 102 via, for example, a DOCSIS downstream data channel,and received by a consumption device for viewing the program guide, suchas a personal computer 104. Alternatively, the program guide data mayalready be stored in a memory of the computing device.

In step 802, the computing device may determine whether the user hasrequested to view the program guide. The request can come in any desiredmanner. For example, the user could access an Internet site offering theprogram guide, or the user could press a “Guide” button on a remotecontrol. If no request is received, the process may simply await such arequest. If a request is received, then the process may proceed to step803, and determine which groups of thumbnails should be displayed.

The determination of the groups can be done based on a variety offactors. One such factor may be the time of day. The program guide maybe configured to initially display thumbnails for programs that arescheduled to be broadcast or multicast at the current time, or for apredetermined amount of time surrounding the current time (e.g., thecurrent hour and 2 hours in the future). Another factor may be thecategory of thumbnail to be initially displayed. The category may be,for example, the “Main Networks” category of programs discussed abovewith respect to FIG. 7 a.

Once the groups of programs have been determined, the process mayidentify their corresponding thumbnails in step 804. The thumbnails forthe programs in the groups may be video images downloaded along with theunderlying program guide code and/or data in step 801.

In step 805, the computing device may generate a random position and arandom motion vector for each thumbnail. Similar to that discussed abovewith respect to FIGS. 3 b&c, the random position for each thumbnail maybe limited to a predefined area of the display screen, based on thegroup to which the thumbnail belongs. For example, thumbnails forprograms displayed in the 4 pm hour may be positioned within an areadesignated for that hour, but with a randomized X- and Y-axis offset. Adifferent motion vector may also be generated for each thumbnail. Themotion vector may also have X- and Y-components that are randomlyadjusted to be different from motion vectors from one or more otherthumbnails in the group.

In step 806, the computing device may proceed to display the thumbnailsof the selected groups, and begin to move them along their respectivemotion vectors. As noted above with respect to FIGS. 3 f & g, thismotion may include a reversal of motion when the thumbnail reaches aboundary.

In step 807, the computing device may determine whether the user hasselected a particular thumbnail. This selection may be made, forexample, by hovering a mouse pointer over the thumbnail, or moving ahighlight using directional keys on a remote control to highlight theselected thumbnail.

If a thumbnail has been selected, then the device may proceed to step808, and align the various thumbnails of the selected group. The devicemay also enlarge the selected thumbnail in step 809, adding informationsuch as title, textual description and start time/date, and reset thethumbnails of the non-selected groups to initial positions with (ifdesired) new motion vectors in step 810. The alignment, enlargement andresetting may be as described above with respect to FIGS. 4 a-d.

The process may then return to step 807, to await selection of anotherthumbnail. If no such thumbnail is selected, the process may proceed tostep 811, and determine if any other program guide interface element hasbeen selected. This can include interaction with any other element onthe screens, such as the content menus 701, the timeline 601, an “Exit”button to close the program guide, and any other desired element. If nosuch selection is made, the system can return to step 807, but if aselection is made, the system can proceed to step 812 to process theselection.

In some embodiments, specific commands may be used to directly invoke afunction in the program guide. For example, a specific keyboard and/orremote control button (or combination of buttons) may be mapped to acommand that opens the program guide, or chooses a time slot (e.g.,display “Prime Time” listing upon pressing the “P” key), or schedules arecording (e.g., pressing “R” creates an automatic recording command fora currently selected video program, and causes that command to bepropagated to a remote DVR), etc.

The description above is merely an example. Many modifications may bemade to adapt a particular situation to the teachings herein withoutdeparting from the scope thereof Therefore, it is intended that theaspects not be limited to the particular embodiments disclosed, but thatthe aspects include all embodiments falling within the scope of theappended claims.

1. A method, comprising: receiving a request to display a program guidelisting of a future content transmission schedule; selecting a subset ofvideo programs according to the transmission schedule; generating athumbnail image for each of the subset of video programs; generating arandom initial position for each displayed thumbnail image; generating arandom motion vector for each displayed thumbnail image, whereindifferent vectors are generated for at least two neighboring thumbnailimages; and displaying and moving the thumbnail images according totheir corresponding motion vectors while awaiting a user input.
 2. Themethod of claim 1, further comprising: determining that an on-screenpointer has been positioned over a selected one of the thumbnail images;identifying a group of thumbnail images to which the selected thumbnailimage belongs; and aligning the thumbnail images of the group, whiledisplaying the remaining thumbnails outside of the group in an unalignedrandom order.
 3. The method of claim 2, further comprising: moving theremaining thumbnails outside of the group according to different randommotion vectors.
 4. The method of claim 3, wherein the moving theremaining thumbnails outside of the group according to different randommotion vectors moves the remaining thumbnails according to the samecorresponding motion vectors generated prior to the positioning of thepointer over the selected one of the thumbnails.
 5. The method of claim1, further comprising: determining that an on-screen pointer has beenpositioned over a selected one of the thumbnail images; and enlargingthe selected thumbnail image, adding textual information to thethumbnail, the textual information including a title of the program towhich the selected thumbnail image corresponds.
 6. The method of claim1, further comprising: generating an outer thumbnail display boundaryfor the program guide; determining when a thumbnail has reached theboundary; and using a new motion vector for movement of the thumbnailthat has reached the boundary.
 7. The method of claim 6, wherein the newmotion vector is in an opposite direction as the original motion vectorfor the thumbnail that has reached the boundary.
 8. The method of claim1, wherein the pseudo-random motion vectors for the displayed thumbnailimages share a common origin area on the program guide display.
 9. Themethod of claim 6, further comprising: continuously moving the thumbnailimages until a thumbnail image is selected by a user.
 10. The method ofclaim 1, wherein the pseudo-random order of the thumbnail imagesincludes a horizontal ordering according to blocks of time.
 11. Themethod of claim 1, wherein the pseudo-random motion vectors includedifferent combinations of directional components and speed components.12. The method of claim 2, further comprising: generating new motionvectors for thumbnails outside of the group each time the pointer hasbeen moved to a different one of the aligned thumbnails in the group.13. A method, comprising: receiving, by a computing device, a userrequest to view a program guide listing content; and transmittingsignals for a program guide display in response to the request, whereinthe program guide display includes different thumbnail imagescorresponding to different available content, and wherein the thumbnailimages continuously move along pseudo-random motion vectors while theprogram guide awaits user selection of a thumbnail image.
 14. The methodof claim 13, wherein the program guide display groups the thumbnailimages to different screen areas based on time, and aligns thumbnailimages for a group containing a selected thumbnail image, while keepingthumbnail images in unselected groups misaligned.
 15. The method ofclaim 13, wherein the pseudo-random motion vectors share a commonorigin.
 16. The method of claim 13, wherein the program guide displayfurther enforces a boundary confining movement of the thumbnail imagesto an area within the boundary.
 17. The method of claim 13, wherein theprogram guide display further includes a selectable horizontal segmentedtimeline.
 18. The method of claim 13, wherein the pseudo-random motionvectors include different speed values.
 19. A method, comprising:receiving, by a computing device, a request to view a program guide ofavailable content; and displaying a program guide screen on a displaydevice, the program guide screen containing different thumbnail imagesfor different pieces of available scheduled content, wherein thumbnailimages for content starting within a common time period are randomlyplaced within a screen area reserved for that time frame.
 20. The methodof claim 19, further comprising moving the thumbnail images along randommotion vectors while awaiting selection of a thumbnail image.